PATHMac OS 8 and 9 Developer Documentation > Human Interface Toolbox > Appearance Manager >

Programming With the Appearance Manager


Theme Collection Tags

Your application may use the following collection tags with the functions SetTheme and GetTheme to access aspects of a theme. The data type contained in each of the collection items accessed is noted below. Theme collection tags are available with Appearance Manager 1.1 and later. See Inside Macintosh: QuickDraw GX Environment and Utilities for a discussion of collections items.

enum {
    kThemeNameTag                   = 'name',
    kThemeAppearanceFileNameTag     = 'thme',
    kThemeVariantNameTag            = 'varn',
    kThemeSystemFontTag             = 'lgsf',
    kThemeSmallSystemFontTag        = 'smsf',
    kThemeViewsFontTag              = 'vfnt',
    kThemeViewsFontSizeTag          = 'vfsz',
    kThemeDesktopPatternNameTag     = 'patn',
    kThemeDesktopPatternTag         = 'patt',
    kThemeDesktopPictureNameTag     = 'dpnm',
    kThemeDesktopPictureAliasTag    = 'dpal',
    kThemeDesktopPictureAlignmentTag= 'dpan',
    kThemeHighlightColorNameTag     = 'hcnm',
    kThemeHighlightColorTag         = 'hcol',
    kThemeExamplePictureIDTag       = 'epic',
    kThemeSoundsEnabledTag          = 'snds',
    kThemeSoundTrackNameTag         = 'sndt',
    kThemeSoundMaskTag              = 'smsk',
    kThemeUserDefinedTag            = 'user',
    kThemeScrollBarArrowStyleTag    = 'sbar',
    kThemeScrollBarThumbStyleTag    = 'sbth',
    kThemeSmoothFontEnabledTag      = 'smoo',
    kThemeSmoothFontMinSizeTag      = 'smos',
    kThemeDblClickCollapseTag       = 'coll'
};

Constant descriptions

kThemeNameTag
Identifies a collection item containing the name of the theme, e.g. "Mac OS Default". The Appearance Manager only uses this collection item to identify themes within the Appearance control panel, so the GetTheme function does not return this collection item. To specify a theme name, you must create a new collection item of this type before calling the function SetTheme . Collection data type: Str255
kThemeAppearanceFileNameTag
Identifies a collection item containing the name of the appearance, e.g. "Apple platinum". Collection data type: Str255
kThemeVariantNameTag
Identifies a collection item containing the color variation used for menus and controls in the theme. Collection data type: Str255
kThemeSystemFontTag
Identifies a collection item containing the name of the large system font for the theme. Collection data type: Str255
kThemeSmallSystemFontTag
Identifies a collection item containing the name of the small system font for the theme. Collection data type: Str255
kThemeViewsFontTag
Identifies a collection item containing the name of the views font for the theme. Collection data type: Str255
kThemeViewsFontSizeTag
Identifies a collection item containing the size of the views font for the theme. Collection data type: SInt16
kThemeDesktopPatternNameTag
Identifies a collection item containing the name of the desktop pattern for the theme. Collection data type: Str255
kThemeDesktopPatternTag
Identifies a collection item containing a flattened version of the desktop pattern for the theme. Collection data type: variable-length data
kThemeDesktopPictureNameTag
Identifies a collection item containing the name of the desktop picture for the theme. Collection data type: Str255
kThemeDesktopPictureAliasTag
Identifies a collection item containing an alias handle for the desktop picture for the theme. Collection data type: AliasHandle
kThemeDesktopPictureAlignmentTag
Identifies a collection item containing a value specifying how to position the desktop picture for the theme. Possible values are kTiledOnScreen (the picture draws repeatedly), kCenterOnScreen (the picture is its actual size, or clipped if necessary, with the desktop pattern showing to the side of the picture if it is smaller than the desktop), kFitToScreen (the picture is reduced if necessary), kFillScreen (the picture's aspect ratio is altered if necessary), and kUseBestGuess (the picture is automatically positioned). Collection data type: UInt32
kThemeHighlightColorNameTag
Identifies a collection item containing the name of the text highlight color for the theme. Collection data type: Str255
kThemeHighlightColorTag
Identifies a collection item containing the text highlight color for the theme. Collection data type: an RGBColor structure
kThemeExamplePictureIDTag
Identifies a collection item containing the ID of the example picture for the theme. Collection data type: SInt16
kThemeSoundsEnabledTag
Identifies a collection item specifying whether theme sounds are enabled for the theme. Collection data type: Boolean
kThemeSoundTrackNameTag
Identifies a collection item containing the name of the soundtrack for the theme. Collection data type: Str255
kThemeSoundMaskTag
Identifies a collection item containing an unsigned 32-bit integer whose bits are set to reflect the classes of sounds that are enabled for a theme. Possibilities include sounds for menus, windows, controls, and the Finder. See Theme Sound Mask Constants for descriptions of possible sound mask values. Collection data type: UInt32
kThemeUserDefinedTag
Identifies a collection item specifying whether the theme is user-defined; the value contained in a kThemeUserDefinedTag collection should always be true if the kThemeUserDefinedTag collection is present. The Appearance Manager uses this collection item to identify themes that the user can delete. Note that the GetTheme function does not return this collection item. Collection data type: Boolean
kThemeScrollBarArrowStyleTag
Identifies a collection item containing a value of type ThemeScrollBarArrowStyle identifying the type of scroll bar arrows used in the theme. Collection data type: ThemeScrollBarArrowStyle
kThemeScrollBarThumbStyleTag
Identifies a collection item containing a value of type ThemeScrollBarThumbStyle identifying the type of scroll boxes used in the theme. Collection data type: ThemeScrollBarThumbStyle
kThemeSmoothFontEnabledTag
Identifies a collection item specifying whether font smoothing is enabled in the theme. Collection data type: Boolean
kThemeSmoothFontMinSizeTag
Identifies a collection item containing the minimum point size at which font smoothing may be enabled in the theme. Possible values range from 12 to 24, inclusive. Collection data type: UInt16
kThemeDblClickCollapseTag
Identifies a collection item specifying whether the ability to double-click to collapse a window is enabled for the theme. Collection data type: Boolean

© 1999 Apple Computer, Inc. – (Last Updated 29 April 99)